package com.xueyi.aixihu.service;

import com.xueyi.aixihu.entity.po.DtAuthGroup;
import com.xueyi.aixihu.entity.vo.DtAuthGroupTitleVo;
import com.xueyi.aixihu.entity.vo.LocalDtAuthGroupVo;
import com.xueyi.aixihu.entity.vo.SelectVo;
import com.xueyi.aixihu.reqeust.AddAuthGroupReq;
import com.xueyi.aixihu.reqeust.FindAllAuthGroupReq;
import com.xueyi.aixihu.response.FindAllAuthGroupResponse;
import com.xueyi.aixihu.response.base.BaseResponse;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @author lvyi
 * @date : 2022/8/17
 * @Description : 角色表的service接口
 */
public interface DtAuthGroupService {

    /**
     * 查询所有角色
     *
     * @return 角色名
     */
    BaseResponse<List<SelectVo>> findAllAuthGroupTitle();

    /**
     * 查询出所有角色信息 以及关联其角色的条数
     *
     * @return
     */
    FindAllAuthGroupResponse findAllAuthGroup(FindAllAuthGroupReq findAllAuthGroupReq);


    /**
     * 编辑角色的名称
     *
     * @param id   角色id
     * @param name 名称
     */
    BaseResponse<Boolean> updateAuthName(Integer id, String name);

    /**
     * 修改角色的状态
     *
     * @param id     角色id
     * @param status 角色状态
     */
    BaseResponse<Boolean> updateAuthStatus(Integer id, Integer status);

    /**
     * 新增角色
     *
     * @param addAuthGroupReq
     */
    BaseResponse<Boolean> addAuthGroup(AddAuthGroupReq addAuthGroupReq);


    /**
     * 根据角色id查询其信息
     *
     * @param id
     * @return
     */
    BaseResponse<DtAuthGroup> findRoleById(Integer id);
}
